【小ネタ】 CloudWatch で DynamoDB/API Gateway メトリクスを確認
CloudWatch で DynamoDB と API Gateway のメトリクスを確認してみます。
ミニマムで環境を構築し、動作の確認/理解することが目的です。
HTTP/REST APIチュートリアルを利用して環境を構築
こちらのチュートリアル を参考に環境を構築します。
※道なりに進めばすんなり行くと思いますが、構築後に上手く疎通が出来ない場合は、以下を確認してみてください(個人的に上手くいかなかった点)。
- Lambda 関数のファイル名(及び exports.handler )と関数名
- Lambda 関数にDynamoDBと対話するためのアクセスを許可(ロールとポリシーを作成)
リクエスト
// 項目の作成/更新 curl -v -X "PUT" -H "Content-Type: application/json" -d "{\"id\": \"abcdef234\", \"price\": 12345, \"name\": \"myitem\"}" https://abcdef123.execute-api.us-west-2.amazonaws.com/items // すべての項目を取得 curl -v https://abcdef123.execute-api.us-west-2.amazonaws.com/items // 1つの項目を取得 curl -v https://abcdef123.execute-api.us-west-2.amazonaws.com/items/abcdef234
CloudWatch でグラフ化したメトリクスの表示
- 「すべてのメトリクス」より、「DynamoDB」->「テーブルメトリクス」を選択し、任意のメトリクス名をチェック
- 「すべてのメトリクス」より、「API Gateway」->「ApiId,Stage」を選択し、任意のメトリクス名をチェック
DynamoDB WCU(WriteCapacityUnits)/RCU(ReadCapacityUnits)
- ConsumedReadCapacityUnits: テーブルとそのすべてのグローバルセカンダリインデックス、または特定のグローバルセカンダリインデックスの
消費された
読み込み容量の合計を取得できます。 - ConsumedWriteCapacityUnits: テーブルとそのすべてのグローバルセカンダリインデックス、または特定のグローバルセカンダリインデックスの
消費された
書き込み容量の合計を取得できます。
API Gateway (HTTP APIメトリクスの使用)
- カウント: 指定期間内の API リクエストの合計数。
- DataProcessed: 処理されたデータの量 (バイト単位)。